In computer graphics, images are formed by selectively combining a plurality of polygons into a final image that can be displayed on a display output pixel grid. The polygons are received from an input data file and then rasterized into the pixel grid to determine the properties of each pixel in the pixel grid. When a given polygon, a triangle for discussion purposes, is rendered, a determination must be made as to whether a given pixel lies within the boundaries of the triangle. If the pixel is completely contained in the boundary of the triangle, then the color of the triangle will be the color of the pixel. Whenever a pixel lies on an edge of the triangle, or the triangle edge passes therethrough, a decision must be made as to whether the pixel is to be the color of the triangle or the color of the background. The decision is typically based upon a fixed point within the pixel, that being the center point or one of the edge points. Typically, the top left corner vertex of the triangle is utilized as the sampling point. Therefore, if the top left corner (TLC) is within the triangle, then the pixel will be rendered with the color of the triangle. If, however, it is outside of the triangle, no matter how close the TLC is to the triangle edge, then it will be rendered in the background color. The result of this decision making process is a “jagged” edge, referred to as a “jaggie.” The reason that these jaggies exist is that the image must be quantized or rasterized to discrete memory locations, such as within a frame buffer, which correspond to the pixel locations in the pixel grid. These jaggies therefore constitute visual artifacts of the images when displayed. This limited resolution is referred to as “aliasing,” because visual artifacts are created by differences in the spatial frequency characteristics of the display and the spatial frequency characteristics of the viewer's eyes. Techniques for removing or reducing artifacts by smoothing the appearance of the jaggies and/or increasing the spatial frequency characteristics of the display are known as “antialiasing” techniques.
One function of antialiasing is that referred to as “supersampling.” Supersampling is a technique that requires a plurality of samples of the polygon to be taken within the pixel boundaries and then a determination made as to what percentage of these pixels are within the triangle and what percentage are outside of the triangle such that an averaging operation can then be performed as to the color. For example, if the supersampling determines that 80% of the pixel is within the triangle and 20% is outside of the triangle, and that the triangle is green and the background boundary outside the triangle is red, then a “blend” can then be made between the color of the triangle and the background color such that a blend of 80% green and 20% red can be made. This gives a “blurring” effect to the edge of the triangle.
The manner in which this supersampling is carried out is to divide the pixel into “subpixels” and then determine if the TLC of each of the subpixels is inside or outside the triangle. If, for example, the pixel is divided into a 2×2 array with four pixels, and three pixels are determined to have the TLC within the triangle and one pixel determined to have the TLC outside of the triangle, then 75% of the triangle color would be blended with the background color to actually generate this pixel by the video display processing portion of the computer graphics system. However, in order to achieve this supersampling, information regarding the values of the subpixels must be stored in the frame buffer. In the 2×2 example, this would require the color for each of the subpixels to be stored which would result in a frame buffer having a requirement for four times the memory. If an 8-bit value is required for the color value of the pixel, then four 8-bit values would be required for a given pixel. This situation is exacerbated when there are a number of color planes involved with each color having a value from “0” to “256.”